//Core Environments LS Entities/Devices

//Environments.RegisterDevice(toolname, genname, devname, class, model, skin, extra)
//  This function adds a device to the tool specified with the specified model.
//    -toolname: the name of the tool to add the device to
//	-genname: the name of the type of generator
//	-devname: the actual name of the generator you are adding
//	-class: the class of the generator's entity
//	-model: the model of the generator
//	-skin: a number for its skin (if needed)
//	-extra: any extra variable you need to pass on to the ent as ent.env_extra, can be any value
//   */

//Lss storage register
Environments.RegisterLSStorage("Processed Gas Cache", "env_energy_storage_gas", {[4601] = "Methane",[4600] = "Tritium",[4602] = "Deuterium",[4603] = "Propane"}, 4084, 100, 10)
Environments.RegisterLSStorage("Natural Gas Cache", "env_energy_storage_ngas", {[4601] = "Natural Gas"}, 4084, 100, 10)
Environments.RegisterLSStorage("Methane Storage", "env_energy_storage_methane", {[4601] = "Methane"}, 4084, 100, 10)
Environments.RegisterLSStorage("Tritium Storage", "env_energy_storage_tritium", {[4601] = "Tritium"}, 4084, 100, 10)
Environments.RegisterLSStorage("Propane Storage", "env_energy_storage_propane", {[4601] = "Propane"}, 4084, 100, 10)
Environments.RegisterLSStorage("Deuterium Storage", "env_energy_storage_deuterium", {[4601] = "Deuterium"}, 4084, 100, 10)

//Generator Tool
//Gen tool: methane
Environments.RegisterDevice("Gas Generators", "Methane","Methane Collector", "generator_methane_collector", "models/syncaidius/gas_collector.mdl",0)
Environments.RegisterDevice("Gas Generators", "Methane","Methane Rehydrator", "generator_methane_rehydrator", "models/syncaidius/gas_inverter.mdl",2)
Environments.RegisterDevice("Gas Generators", "Methane","Large Methane Reactor", "generator_methane_reactor", "models/syncaidius/gas_lreactor.mdl",0)
Environments.RegisterDevice("Gas Generators", "Methane","Small Methane Reactor", "generator_methane_reactor", "models/syncaidius/gas_sreactor.mdl",0)
Environments.RegisterDevice("Gas Generators", "Methane","Micro Methane Reactor", "generator_methane_reactor", "models/syncaidius/microreactor.mdl",0)
//Gen tool: tritium
Environments.RegisterDevice("Gas Generators", "Tritium","Tritium Collector", "generator_tritium_collector", "models/syncaidius/gas_collector.mdl",3)
Environments.RegisterDevice("Gas Generators", "Tritium","Tritium Inverter", "generator_tritium_inverter", "models/syncaidius/gas_inverter.mdl",0)
//Gen tool: deuterium
Environments.RegisterDevice("Gas Generators", "Deuterium","Deuterium Collector", "generator_deuterium_collector", "models/syncaidius/gas_collector.mdl",2)
Environments.RegisterDevice("Gas Generators", "Deuterium","Deuterium Inverter", "generator_deuterium_inverter", "models/syncaidius/gas_inverter.mdl",1)
//Gen tool: propane
Environments.RegisterDevice("Gas Generators", "Propane","Propane Collector", "generator_propane_collector", "models/syncaidius/gas_collector.mdl",1)
Environments.RegisterDevice("Gas Generators", "Propane","Large Propane Reactor", "generator_propane_reactor", "models/syncaidius/gas_lreactor.mdl",1)
Environments.RegisterDevice("Gas Generators", "Propane","Small Propane Reactor", "generator_propane_reactor", "models/syncaidius/gas_sreactor.mdl",1)
Environments.RegisterDevice("Gas Generators", "Propane","Micro Propane Reactor", "generator_propane_reactor", "models/syncaidius/microreactor.mdl",1)
//Gen tool: natural gas
Environments.RegisterDevice("Gas Generators", "Natural Gas","Natural Gas Extractor", "generator_natural_gas_extractor", "models/syncaidius/gas_extractor.mdl")
Environments.RegisterDevice("Gas Generators", "Natural Gas","Natural Gas Processer", "generator_natural_gas_processer", "models/syncaidius/gas_processor.mdl")
//Gen tool: tokomak reactor
Environments.RegisterDevice("Gas Generators", "Tokomak","Large Tokomak Reactor", "generator_tokomak_reactor", "models/syncaidius/tokomak.mdl")
Environments.RegisterDevice("Gas Generators", "Tokomak","Small Tokomak Reactor", "generator_tokomak_reactor", "models/syncaidius/stokomak.mdl")

//Store tool
//store tool: processed gas
Environments.RegisterDevice("Gas Storages", "Processed Gas", "Large Processed Gas Cache", "env_energy_storage_gas", "models/syncaidius/lprocstore.mdl")
Environments.RegisterDevice("Gas Storages", "Processed Gas", "Medium Processed Gas Cache", "env_energy_storage_gas", "models/syncaidius/mprocstore.mdl")
Environments.RegisterDevice("Gas Storages", "Processed Gas", "Small Processed Gas Cache", "env_energy_storage_gas", "models/syncaidius/sprocstore.mdl")

//store tool: natural gas
Environments.RegisterDevice("Gas Storages", "Natural Gas", "Large Natural gas tank", "env_energy_storage_ngas", "models/syncaidius/gas_tank_huge.mdl",4)
Environments.RegisterDevice("Gas Storages", "Natural Gas", "Medium Natural gas tank", "env_energy_storage_ngas", "models/syncaidius/gas_tank_large.mdl",4)
Environments.RegisterDevice("Gas Storages", "Natural Gas", "Small Natural gas tank", "env_energy_storage_ngas", "models/syncaidius/gas_tank_small.mdl",4)

//store tool: methane
Environments.RegisterDevice("Gas Storages", "Methane", "Large Methane Tank", "env_energy_storage_methane", "models/syncaidius/gas_tank_huge.mdl")
Environments.RegisterDevice("Gas Storages", "Methane", "Medium Methane Tank", "env_energy_storage_methane", "models/syncaidius/gas_tank_large.mdl")
Environments.RegisterDevice("Gas Storages", "Methane", "Small Methane Tank", "env_energy_storage_methane", "models/syncaidius/gas_tank_small.mdl")

//store tool: methane
Environments.RegisterDevice("Gas Storages", "Methane", "Large Methane Tank", "env_energy_storage_methane", "models/syncaidius/gas_tank_huge.mdl")
Environments.RegisterDevice("Gas Storages", "Methane", "Medium Methane Tank", "env_energy_storage_methane", "models/syncaidius/gas_tank_large.mdl")
Environments.RegisterDevice("Gas Storages", "Methane", "Small Methane Tank", "env_energy_storage_methane", "models/syncaidius/gas_tank_small.mdl")

//store tool: propane
Environments.RegisterDevice("Gas Storages", "Propane", "Large Propane Tank", "env_energy_storage_propane", "models/syncaidius/gas_tank_huge.mdl",1)
Environments.RegisterDevice("Gas Storages", "Propane", "Medium Propane Tank", "env_energy_storage_propane", "models/syncaidius/gas_tank_large.mdl",1)
Environments.RegisterDevice("Gas Storages", "Propane", "Small Propane Tank", "env_energy_storage_propane", "models/syncaidius/gas_tank_small.mdl",1)

//store tool: deuterium
Environments.RegisterDevice("Gas Storages", "Deuterium", "Large Deuterium Tank", "env_energy_storage_deuterium", "models/syncaidius/gas_tank_huge.mdl",2)
Environments.RegisterDevice("Gas Storages", "Deuterium", "Medium Deuterium Tank", "env_energy_storage_deuterium", "models/syncaidius/gas_tank_large.mdl",2)
Environments.RegisterDevice("Gas Storages", "Deuterium", "Small Deuterium Tank", "env_energy_storage_deuterium", "models/syncaidius/gas_tank_small.mdl",2)

//store tool: tritium
Environments.RegisterDevice("Gas Storages", "Tritium", "Large Tritium Tank", "env_energy_storage_tritium", "models/syncaidius/gas_tank_huge.mdl",3)
Environments.RegisterDevice("Gas Storages", "Tritium", "Medium Tritium Tank", "env_energy_storage_tritium", "models/syncaidius/gas_tank_large.mdl",3)
Environments.RegisterDevice("Gas Storages", "Tritium", "Small Tritium Tank", "env_energy_storage_tritium", "models/syncaidius/gas_tank_small.mdl",3)













